{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第四步：调整树的参数：subsample 和 colsample_bytree\n",
    "(粗调，参数的步长为0.1；下一步是在粗调最佳参数周围，将步长降为0.05，进行精细调整)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from xgboost import XGBClassifier\n",
    "import xgboost as xgb\n",
    "\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "\n",
    "from sklearn.metrics import log_loss\n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "#input data\n",
    "dpath = './data/'\n",
    "train = pd.read_csv(dpath +\"RentListingInquries_FE_train.csv\")\n",
    "test = pd.read_csv(dpath +\"RentListingInquries_FE_test.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "y_train = train['interest_level']\n",
    "train = train.drop([\"interest_level\"], axis=1)\n",
    "X_train = np.array(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# prepare cross validation\n",
    "kfold = StratifiedKFold(n_splits=5, shuffle=True, random_state=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "第二轮参数调整得到的n_estimators最优值（260），其余参数继续默认值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 第一轮调参"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用交叉验证评价模型性能时，用scoring参数定义评价指标。评价指标是越高越好，因此用一些损失函数当评价指标时，需要再加负号，如neg_log_loss，neg_mean_squared_error 详见sklearn文档：http://scikit-learn.org/stable/modules/model_evaluation.html#log-loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'colsample_bytree': [0.6, 0.7, 0.8, 0.9],\n",
       " 'subsample': [0.3, 0.4, 0.5, 0.6, 0.7, 0.8]}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#max_depth 建议3-10， min_child_weight=1／sqrt(ratio_rare_event) =5.5\n",
    "subsample = [i/10.0 for i in range(3,9)]\n",
    "colsample_bytree = [i/10.0 for i in range(6,10)]\n",
    "param_test3_1 = dict(subsample=subsample, colsample_bytree=colsample_bytree)\n",
    "param_test3_1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\model_selection\\_search.py:747: DeprecationWarning: The grid_scores_ attribute was deprecated in version 0.18 in favor of the more elaborate cv_results_ attribute. The grid_scores_ attribute will not be available from 0.20\n",
      "  DeprecationWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "([mean: -0.58889, std: 0.00361, params: {'colsample_bytree': 0.6, 'subsample': 0.3},\n",
       "  mean: -0.58665, std: 0.00435, params: {'colsample_bytree': 0.6, 'subsample': 0.4},\n",
       "  mean: -0.58498, std: 0.00310, params: {'colsample_bytree': 0.6, 'subsample': 0.5},\n",
       "  mean: -0.58432, std: 0.00334, params: {'colsample_bytree': 0.6, 'subsample': 0.6},\n",
       "  mean: -0.58390, std: 0.00347, params: {'colsample_bytree': 0.6, 'subsample': 0.7},\n",
       "  mean: -0.58292, std: 0.00301, params: {'colsample_bytree': 0.6, 'subsample': 0.8},\n",
       "  mean: -0.58773, std: 0.00377, params: {'colsample_bytree': 0.7, 'subsample': 0.3},\n",
       "  mean: -0.58622, std: 0.00430, params: {'colsample_bytree': 0.7, 'subsample': 0.4},\n",
       "  mean: -0.58466, std: 0.00411, params: {'colsample_bytree': 0.7, 'subsample': 0.5},\n",
       "  mean: -0.58413, std: 0.00414, params: {'colsample_bytree': 0.7, 'subsample': 0.6},\n",
       "  mean: -0.58343, std: 0.00394, params: {'colsample_bytree': 0.7, 'subsample': 0.7},\n",
       "  mean: -0.58326, std: 0.00420, params: {'colsample_bytree': 0.7, 'subsample': 0.8},\n",
       "  mean: -0.58807, std: 0.00428, params: {'colsample_bytree': 0.8, 'subsample': 0.3},\n",
       "  mean: -0.58678, std: 0.00472, params: {'colsample_bytree': 0.8, 'subsample': 0.4},\n",
       "  mean: -0.58526, std: 0.00398, params: {'colsample_bytree': 0.8, 'subsample': 0.5},\n",
       "  mean: -0.58422, std: 0.00362, params: {'colsample_bytree': 0.8, 'subsample': 0.6},\n",
       "  mean: -0.58351, std: 0.00357, params: {'colsample_bytree': 0.8, 'subsample': 0.7},\n",
       "  mean: -0.58291, std: 0.00335, params: {'colsample_bytree': 0.8, 'subsample': 0.8},\n",
       "  mean: -0.58668, std: 0.00448, params: {'colsample_bytree': 0.9, 'subsample': 0.3},\n",
       "  mean: -0.58591, std: 0.00391, params: {'colsample_bytree': 0.9, 'subsample': 0.4},\n",
       "  mean: -0.58433, std: 0.00331, params: {'colsample_bytree': 0.9, 'subsample': 0.5},\n",
       "  mean: -0.58345, std: 0.00389, params: {'colsample_bytree': 0.9, 'subsample': 0.6},\n",
       "  mean: -0.58249, std: 0.00356, params: {'colsample_bytree': 0.9, 'subsample': 0.7},\n",
       "  mean: -0.58258, std: 0.00387, params: {'colsample_bytree': 0.9, 'subsample': 0.8}],\n",
       " {'colsample_bytree': 0.9, 'subsample': 0.7},\n",
       " -0.58248886035444236)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xgb3_1 = XGBClassifier(\n",
    "        learning_rate =0.1,\n",
    "        n_estimators=260,  #第二轮参数调整得到的n_estimators最优值\n",
    "        max_depth=5,\n",
    "        min_child_weight=1,\n",
    "        gamma=0,\n",
    "        subsample=0.3,\n",
    "        colsample_bytree=0.8,\n",
    "        colsample_bylevel = 0.7,\n",
    "        objective= 'multi:softprob',\n",
    "        seed=3)\n",
    "\n",
    "\n",
    "gsearch3_1 = GridSearchCV(xgb3_1, param_grid = param_test3_1, scoring='neg_log_loss',n_jobs=-1, cv=kfold)\n",
    "gsearch3_1.fit(X_train , y_train)\n",
    "\n",
    "gsearch3_1.grid_scores_, gsearch3_1.best_params_,     gsearch3_1.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "15:50-17:07"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'mean_fit_time': array([ 217.28624077,  242.62121382,  255.47742043,  256.59840364,\n",
       "         255.00797091,  256.908429  ,  232.79876394,  262.76842437,\n",
       "         285.52809649,  287.67651405,  280.76394014,  279.53601837,\n",
       "         253.16747279,  287.22380948,  310.81619754,  315.33883381,\n",
       "         309.46439986,  313.36608386,  275.73914437,  314.85043421,\n",
       "         339.6294805 ,  346.15444579,  338.58159184,  317.21594696]),\n",
       " 'mean_score_time': array([ 0.60260377,  0.5960865 ,  0.58796477,  0.58736334,  0.58385386,\n",
       "         0.58445544,  0.59528446,  0.61202874,  0.60841923,  0.58676152,\n",
       "         0.60771728,  0.61042457,  0.62355957,  0.60480952,  0.61924829,\n",
       "         0.60681505,  0.58295164,  0.5868618 ,  0.62305832,  0.60731616,\n",
       "         0.59678831,  0.65093265,  0.62215581,  0.50164719]),\n",
       " 'mean_test_score': array([-0.58889294, -0.5866493 , -0.58497699, -0.58431685, -0.58389673,\n",
       "        -0.58291882, -0.58772521, -0.58622467, -0.58466151, -0.58413194,\n",
       "        -0.58342939, -0.58325689, -0.58806569, -0.58678018, -0.5852597 ,\n",
       "        -0.58421664, -0.58351171, -0.58290697, -0.58668307, -0.58590949,\n",
       "        -0.58432765, -0.58345031, -0.58248886, -0.58257946]),\n",
       " 'mean_train_score': array([-0.50612593, -0.50342301, -0.5013106 , -0.50029219, -0.49964519,\n",
       "        -0.50054536, -0.50291569, -0.49918829, -0.49800272, -0.4974649 ,\n",
       "        -0.49794098, -0.49820398, -0.50088739, -0.49720985, -0.49515591,\n",
       "        -0.49466724, -0.49480518, -0.49568595, -0.49828534, -0.49492022,\n",
       "        -0.49365449, -0.49231679, -0.49272739, -0.49418323]),\n",
       " 'param_colsample_bytree': masked_array(data = [0.6 0.6 0.6 0.6 0.6 0.6 0.7 0.7 0.7 0.7 0.7 0.7 0.8 0.8 0.8 0.8 0.8 0.8\n",
       "  0.9 0.9 0.9 0.9 0.9 0.9],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False False False False False False False False False False False],\n",
       "        fill_value = ?),\n",
       " 'param_subsample': masked_array(data = [0.3 0.4 0.5 0.6 0.7 0.8 0.3 0.4 0.5 0.6 0.7 0.8 0.3 0.4 0.5 0.6 0.7 0.8\n",
       "  0.3 0.4 0.5 0.6 0.7 0.8],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False False False False False False False False False False False],\n",
       "        fill_value = ?),\n",
       " 'params': [{'colsample_bytree': 0.6, 'subsample': 0.3},\n",
       "  {'colsample_bytree': 0.6, 'subsample': 0.4},\n",
       "  {'colsample_bytree': 0.6, 'subsample': 0.5},\n",
       "  {'colsample_bytree': 0.6, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.6, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.6, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 0.7, 'subsample': 0.3},\n",
       "  {'colsample_bytree': 0.7, 'subsample': 0.4},\n",
       "  {'colsample_bytree': 0.7, 'subsample': 0.5},\n",
       "  {'colsample_bytree': 0.7, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.7, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.7, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.3},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.4},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.5},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.3},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.4},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.5},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.8}],\n",
       " 'rank_test_score': array([24, 19, 15, 12,  9,  4, 22, 18, 14, 10,  6,  5, 23, 21, 16, 11,  8,\n",
       "         3, 20, 17, 13,  7,  1,  2]),\n",
       " 'split0_test_score': array([-0.5838041 , -0.58008711, -0.58068783, -0.57881264, -0.57767391,\n",
       "        -0.57785587, -0.58180183, -0.57901769, -0.57822255, -0.57759755,\n",
       "        -0.57697122, -0.57577029, -0.58018111, -0.5790544 , -0.57837492,\n",
       "        -0.57822045, -0.57833359, -0.57715979, -0.57886308, -0.57928623,\n",
       "        -0.57846038, -0.57696566, -0.57726632, -0.57706732]),\n",
       " 'split0_train_score': array([-0.50670728, -0.50484552, -0.50265705, -0.50198279, -0.50027825,\n",
       "        -0.50171574, -0.50376943, -0.5011436 , -0.4988491 , -0.49819139,\n",
       "        -0.49813696, -0.49833238, -0.50181538, -0.49906574, -0.49580664,\n",
       "        -0.49593947, -0.49645975, -0.49695525, -0.50005824, -0.49640775,\n",
       "        -0.49475783, -0.49229483, -0.49298689, -0.49386295]),\n",
       " 'split1_test_score': array([-0.58676591, -0.58383693, -0.58202923, -0.58263814, -0.58272087,\n",
       "        -0.58130922, -0.58522342, -0.58399839, -0.58329966, -0.58223053,\n",
       "        -0.58138461, -0.5821926 , -0.58718957, -0.58487044, -0.5839069 ,\n",
       "        -0.58254818, -0.58106865, -0.58155286, -0.58515301, -0.5837337 ,\n",
       "        -0.58317362, -0.58290105, -0.58053671, -0.58054592]),\n",
       " 'split1_train_score': array([-0.50647054, -0.50326752, -0.50178998, -0.50140761, -0.50032494,\n",
       "        -0.5000396 , -0.50335474, -0.49988639, -0.49895603, -0.49598642,\n",
       "        -0.49744039, -0.49786489, -0.5013686 , -0.49768337, -0.49521146,\n",
       "        -0.49443859, -0.49515452, -0.49622181, -0.49919088, -0.49491264,\n",
       "        -0.4954384 , -0.49457373, -0.4920128 , -0.49574396]),\n",
       " 'split2_test_score': array([-0.58845843, -0.58681891, -0.58586713, -0.58485911, -0.58523292,\n",
       "        -0.58394316, -0.58903335, -0.58777376, -0.58376686, -0.58442094,\n",
       "        -0.58419666, -0.5841747 , -0.58973649, -0.58742823, -0.58609916,\n",
       "        -0.58481887, -0.58330991, -0.58367562, -0.58750277, -0.58811586,\n",
       "        -0.58544097, -0.58247811, -0.58171915, -0.5813112 ]),\n",
       " 'split2_train_score': array([-0.50603403, -0.50289856, -0.50050425, -0.4995945 , -0.49933723,\n",
       "        -0.50092677, -0.50261325, -0.49980878, -0.49775582, -0.49781391,\n",
       "        -0.49794826, -0.49849462, -0.50103401, -0.49696066, -0.49526774,\n",
       "        -0.49439876, -0.49462902, -0.49441065, -0.49736325, -0.4951711 ,\n",
       "        -0.4928459 , -0.49299656, -0.49328896, -0.49384372]),\n",
       " 'split3_test_score': array([-0.59111855, -0.59207507, -0.58797602, -0.58809718, -0.58687277,\n",
       "        -0.58572936, -0.59011537, -0.58914795, -0.58789533, -0.58647596,\n",
       "        -0.58646311, -0.58641519, -0.59106268, -0.58937019, -0.58797435,\n",
       "        -0.58686317, -0.58715692, -0.58547457, -0.59102123, -0.5899783 ,\n",
       "        -0.58690674, -0.58782496, -0.58678721, -0.58694844]),\n",
       " 'split3_train_score': array([-0.50548231, -0.50445189, -0.5001915 , -0.49861766, -0.49977555,\n",
       "        -0.50063818, -0.50344232, -0.49857361, -0.49748389, -0.49766696,\n",
       "        -0.49787877, -0.49787747, -0.50140719, -0.49675643, -0.49547321,\n",
       "        -0.49501742, -0.49442534, -0.49477823, -0.49781079, -0.49340418,\n",
       "        -0.49192414, -0.4906176 , -0.49358058, -0.49375253]),\n",
       " 'split4_test_score': array([-0.59431936, -0.59042962, -0.58832578, -0.58717802, -0.58698413,\n",
       "        -0.58575732, -0.59245349, -0.59118707, -0.5901248 , -0.58993647,\n",
       "        -0.58813278, -0.587733  , -0.59215986, -0.59317957, -0.58994462,\n",
       "        -0.5886339 , -0.58769077, -0.58667314, -0.59087653, -0.58843413,\n",
       "        -0.58765753, -0.58708288, -0.58613603, -0.58702575]),\n",
       " 'split4_train_score': array([-0.50593551, -0.50165156, -0.50141024, -0.49985838, -0.49850998,\n",
       "        -0.49940653, -0.50139872, -0.49652907, -0.49696878, -0.49766583,\n",
       "        -0.49830052, -0.49845054, -0.49881178, -0.49558306, -0.4940205 ,\n",
       "        -0.49354198, -0.49335724, -0.49606378, -0.49700355, -0.49470541,\n",
       "        -0.49330616, -0.49110123, -0.4917677 , -0.49371297]),\n",
       " 'std_fit_time': array([  1.63385946,   2.42033832,   1.46349412,   1.88984937,\n",
       "          1.66907353,   5.05191889,   1.34306641,   2.66490159,\n",
       "          2.42669455,   4.08875937,   0.96104961,   1.75526843,\n",
       "          1.73908767,   1.45156333,   2.29387103,   2.50187578,\n",
       "          4.08994406,   8.482868  ,   1.87609568,   2.0613578 ,\n",
       "          1.77843941,   5.38684583,   5.28628704,  16.56136907]),\n",
       " 'std_score_time': array([ 0.00909604,  0.00685208,  0.00435199,  0.00896599,  0.00832034,\n",
       "         0.00256399,  0.00494892,  0.02909029,  0.01996442,  0.00342367,\n",
       "         0.05762986,  0.05512007,  0.04709929,  0.01431621,  0.04964113,\n",
       "         0.02540438,  0.00236006,  0.00172497,  0.0497241 ,  0.0122824 ,\n",
       "         0.00989358,  0.07807804,  0.08362707,  0.03667225]),\n",
       " 'std_test_score': array([ 0.00360565,  0.00435274,  0.00310118,  0.00334325,  0.00347221,\n",
       "         0.00300766,  0.00377157,  0.00430037,  0.00410893,  0.00413713,\n",
       "         0.00394465,  0.00419604,  0.00427716,  0.00472037,  0.00398123,\n",
       "         0.00362257,  0.00356575,  0.00335351,  0.00448488,  0.003909  ,\n",
       "         0.00330865,  0.00388925,  0.00356246,  0.00387256]),\n",
       " 'std_train_score': array([ 0.00042794,  0.00114187,  0.00088941,  0.00123137,  0.00067281,\n",
       "         0.00078442,  0.00084754,  0.00155852,  0.00077773,  0.00076377,\n",
       "         0.00029058,  0.00027689,  0.00106701,  0.0011474 ,  0.00060479,\n",
       "         0.00079143,  0.00101306,  0.00094777,  0.00115599,  0.00096128,\n",
       "         0.0012782 ,  0.00140863,  0.00071306,  0.00078235])}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gsearch3_1.cv_results_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best: -0.582489 using {'colsample_bytree': 0.9, 'subsample': 0.7}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23abc6308d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# summarize results\n",
    "print(\"Best: %f using %s\" % (gsearch3_1.best_score_, gsearch3_1.best_params_))\n",
    "test_means = gsearch3_1.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = gsearch3_1.cv_results_[ 'std_test_score' ]\n",
    "train_means = gsearch3_1.cv_results_[ 'mean_train_score' ]\n",
    "train_stds = gsearch3_1.cv_results_[ 'std_train_score' ]\n",
    "\n",
    "pd.DataFrame(gsearch3_1.cv_results_).to_csv('my_preds_subsampleh_colsample_bytree_1.csv')\n",
    "\n",
    "# plot results\n",
    "test_scores = np.array(test_means).reshape(len(colsample_bytree), len(subsample))\n",
    "train_scores = np.array(train_means).reshape(len(colsample_bytree), len(subsample))\n",
    "\n",
    "for i, value in enumerate(colsample_bytree):\n",
    "    pyplot.plot(subsample, -test_scores[i], label= 'test_colsample_bytree:'   + str(value))\n",
    "#for i, value in enumerate(min_child_weight):\n",
    "#    pyplot.plot(max_depth, train_scores[i], label= 'train_min_child_weight:'   + str(value))\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'subsample' )                                                                                                      \n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'subsample_vs_colsample_bytree1.png' )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 第二次调参（将步长降为0.05，进行精细调整）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'colsample_bytree': [0.8, 0.85, 0.9, 0.95, 1.0],\n",
       " 'subsample': [0.6, 0.65, 0.7, 0.75, 0.8]}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#max_depth 建议3-10， min_child_weight=1／sqrt(ratio_rare_event) =5.5\n",
    "subsample = [0.60, 0.65, 0.7, 0.75, 0.80]\n",
    "colsample_bytree = [0.80, 0.85, 0.9, 0.95, 1.00]\n",
    "param_test3_2 = dict(subsample=subsample, colsample_bytree=colsample_bytree)\n",
    "param_test3_2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\envs\\python3\\lib\\site-packages\\sklearn\\model_selection\\_search.py:747: DeprecationWarning: The grid_scores_ attribute was deprecated in version 0.18 in favor of the more elaborate cv_results_ attribute. The grid_scores_ attribute will not be available from 0.20\n",
      "  DeprecationWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "([mean: -0.58422, std: 0.00362, params: {'colsample_bytree': 0.8, 'subsample': 0.6},\n",
       "  mean: -0.58343, std: 0.00375, params: {'colsample_bytree': 0.8, 'subsample': 0.65},\n",
       "  mean: -0.58351, std: 0.00357, params: {'colsample_bytree': 0.8, 'subsample': 0.7},\n",
       "  mean: -0.58354, std: 0.00361, params: {'colsample_bytree': 0.8, 'subsample': 0.75},\n",
       "  mean: -0.58291, std: 0.00335, params: {'colsample_bytree': 0.8, 'subsample': 0.8},\n",
       "  mean: -0.58333, std: 0.00360, params: {'colsample_bytree': 0.85, 'subsample': 0.6},\n",
       "  mean: -0.58349, std: 0.00306, params: {'colsample_bytree': 0.85, 'subsample': 0.65},\n",
       "  mean: -0.58377, std: 0.00362, params: {'colsample_bytree': 0.85, 'subsample': 0.7},\n",
       "  mean: -0.58324, std: 0.00402, params: {'colsample_bytree': 0.85, 'subsample': 0.75},\n",
       "  mean: -0.58362, std: 0.00360, params: {'colsample_bytree': 0.85, 'subsample': 0.8},\n",
       "  mean: -0.58345, std: 0.00389, params: {'colsample_bytree': 0.9, 'subsample': 0.6},\n",
       "  mean: -0.58308, std: 0.00442, params: {'colsample_bytree': 0.9, 'subsample': 0.65},\n",
       "  mean: -0.58249, std: 0.00356, params: {'colsample_bytree': 0.9, 'subsample': 0.7},\n",
       "  mean: -0.58303, std: 0.00424, params: {'colsample_bytree': 0.9, 'subsample': 0.75},\n",
       "  mean: -0.58258, std: 0.00387, params: {'colsample_bytree': 0.9, 'subsample': 0.8},\n",
       "  mean: -0.58373, std: 0.00376, params: {'colsample_bytree': 0.95, 'subsample': 0.6},\n",
       "  mean: -0.58304, std: 0.00357, params: {'colsample_bytree': 0.95, 'subsample': 0.65},\n",
       "  mean: -0.58386, std: 0.00288, params: {'colsample_bytree': 0.95, 'subsample': 0.7},\n",
       "  mean: -0.58317, std: 0.00400, params: {'colsample_bytree': 0.95, 'subsample': 0.75},\n",
       "  mean: -0.58299, std: 0.00388, params: {'colsample_bytree': 0.95, 'subsample': 0.8},\n",
       "  mean: -0.58391, std: 0.00353, params: {'colsample_bytree': 1.0, 'subsample': 0.6},\n",
       "  mean: -0.58327, std: 0.00369, params: {'colsample_bytree': 1.0, 'subsample': 0.65},\n",
       "  mean: -0.58272, std: 0.00423, params: {'colsample_bytree': 1.0, 'subsample': 0.7},\n",
       "  mean: -0.58253, std: 0.00316, params: {'colsample_bytree': 1.0, 'subsample': 0.75},\n",
       "  mean: -0.58300, std: 0.00361, params: {'colsample_bytree': 1.0, 'subsample': 0.8}],\n",
       " {'colsample_bytree': 0.9, 'subsample': 0.7},\n",
       " -0.58248886035444236)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xgb3_2 = XGBClassifier(\n",
    "        learning_rate =0.1,\n",
    "        n_estimators=260,  #第二轮参数调整得到的n_estimators最优值\n",
    "        max_depth=5,\n",
    "        min_child_weight=1,\n",
    "        gamma=0,\n",
    "        subsample=0.7,\n",
    "        colsample_bytree=0.9,\n",
    "        colsample_bylevel = 0.7,\n",
    "        objective= 'multi:softprob',\n",
    "        seed=3)\n",
    "\n",
    "\n",
    "gsearch3_2 = GridSearchCV(xgb3_2, param_grid = param_test3_2, scoring='neg_log_loss',n_jobs=-1, cv=kfold)\n",
    "gsearch3_2.fit(X_train , y_train)\n",
    "\n",
    "gsearch3_2.grid_scores_, gsearch3_2.best_params_,     gsearch3_2.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "20:02"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前的日期和时间是 2018-01-06 01:10:22.450623\n"
     ]
    }
   ],
   "source": [
    "import datetime\n",
    "i = datetime.datetime.now()\n",
    "print (\"当前的日期和时间是 %s\" % i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'mean_fit_time': array([ 531.18246012,  563.48623629,  513.40908608,  521.85264831,\n",
       "         516.36953459,  539.27424469,  544.96116991,  545.8466207 ,\n",
       "         545.8136188 ,  555.44856992,  610.32570863,  581.65006852,\n",
       "         577.2378161 ,  576.30136261,  579.33813629,  602.41285605,\n",
       "         591.73464537,  593.70455804,  602.60026674,  593.26793299,\n",
       "         608.62501135,  618.12415476,  615.8856266 ,  612.34802427,\n",
       "         580.35439429]),\n",
       " 'mean_score_time': array([ 1.09330244,  1.19526844,  0.98985658,  0.95985475,  1.00385752,\n",
       "         0.98685637,  0.98905663,  0.97385573,  0.98365626,  0.98285613,\n",
       "         1.07486162,  0.98985662,  0.98845658,  0.98045607,  0.98045602,\n",
       "         1.01885824,  1.02045832,  0.99165678,  0.99585695,  0.97645583,\n",
       "         1.00325737,  0.9812561 ,  1.00445752,  0.98105612,  0.80324593]),\n",
       " 'mean_test_score': array([-0.58421664, -0.58343041, -0.58351171, -0.58354167, -0.58290697,\n",
       "        -0.5833336 , -0.58349353, -0.58376563, -0.58323502, -0.5836195 ,\n",
       "        -0.58345031, -0.58308341, -0.58248886, -0.58302979, -0.58257946,\n",
       "        -0.58372762, -0.58303709, -0.58385868, -0.58316973, -0.58298679,\n",
       "        -0.58391299, -0.5832676 , -0.58272007, -0.58253373, -0.58299868]),\n",
       " 'mean_train_score': array([-0.49466724, -0.49375345, -0.49480518, -0.49502783, -0.49568595,\n",
       "        -0.49327742, -0.4936516 , -0.49360779, -0.49433695, -0.49546026,\n",
       "        -0.49231679, -0.49293736, -0.49272739, -0.49317039, -0.49418323,\n",
       "        -0.49174078, -0.49144908, -0.491408  , -0.49238327, -0.49283626,\n",
       "        -0.49056083, -0.49096847, -0.49121188, -0.49164068, -0.49282215]),\n",
       " 'param_colsample_bytree': masked_array(data = [0.8 0.8 0.8 0.8 0.8 0.85 0.85 0.85 0.85 0.85 0.9 0.9 0.9 0.9 0.9 0.95 0.95\n",
       "  0.95 0.95 0.95 1.0 1.0 1.0 1.0 1.0],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False False False False False False False False False False False\n",
       "  False],\n",
       "        fill_value = ?),\n",
       " 'param_subsample': masked_array(data = [0.6 0.65 0.7 0.75 0.8 0.6 0.65 0.7 0.75 0.8 0.6 0.65 0.7 0.75 0.8 0.6 0.65\n",
       "  0.7 0.75 0.8 0.6 0.65 0.7 0.75 0.8],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False False False False False False False False False False False\n",
       "  False],\n",
       "        fill_value = ?),\n",
       " 'params': [{'colsample_bytree': 0.8, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.65},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.75},\n",
       "  {'colsample_bytree': 0.8, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 0.85, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.85, 'subsample': 0.65},\n",
       "  {'colsample_bytree': 0.85, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.85, 'subsample': 0.75},\n",
       "  {'colsample_bytree': 0.85, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.65},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.75},\n",
       "  {'colsample_bytree': 0.9, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 0.95, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 0.95, 'subsample': 0.65},\n",
       "  {'colsample_bytree': 0.95, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 0.95, 'subsample': 0.75},\n",
       "  {'colsample_bytree': 0.95, 'subsample': 0.8},\n",
       "  {'colsample_bytree': 1.0, 'subsample': 0.6},\n",
       "  {'colsample_bytree': 1.0, 'subsample': 0.65},\n",
       "  {'colsample_bytree': 1.0, 'subsample': 0.7},\n",
       "  {'colsample_bytree': 1.0, 'subsample': 0.75},\n",
       "  {'colsample_bytree': 1.0, 'subsample': 0.8}],\n",
       " 'rank_test_score': array([25, 15, 18, 19,  5, 14, 17, 22, 12, 20, 16, 10,  1,  8,  3, 21,  9,\n",
       "        23, 11,  6, 24, 13,  4,  2,  7]),\n",
       " 'split0_test_score': array([-0.57822045, -0.57725665, -0.57833359, -0.57724959, -0.57715979,\n",
       "        -0.57727345, -0.5786198 , -0.57773935, -0.5772321 , -0.57781598,\n",
       "        -0.57696566, -0.57607719, -0.57726632, -0.57610305, -0.57706732,\n",
       "        -0.57690608, -0.57684294, -0.57888946, -0.57724452, -0.57640472,\n",
       "        -0.57777369, -0.57709916, -0.57546044, -0.57696739, -0.57724332]),\n",
       " 'split0_train_score': array([-0.49593947, -0.49581284, -0.49645975, -0.49574484, -0.49695525,\n",
       "        -0.49364737, -0.49446695, -0.49520538, -0.49644601, -0.49554334,\n",
       "        -0.49229483, -0.49331312, -0.49298689, -0.49347215, -0.49386295,\n",
       "        -0.49314538, -0.49199364, -0.4912709 , -0.49369317, -0.49349907,\n",
       "        -0.49272998, -0.49176262, -0.49289124, -0.49303074, -0.49417919]),\n",
       " 'split1_test_score': array([-0.58254818, -0.58242381, -0.58106865, -0.58261458, -0.58155286,\n",
       "        -0.58189407, -0.58207685, -0.58275679, -0.58112236, -0.58191698,\n",
       "        -0.58290105, -0.5811498 , -0.58053671, -0.58140507, -0.58054592,\n",
       "        -0.58319804, -0.58184035, -0.58289249, -0.58075514, -0.58152647,\n",
       "        -0.5828529 , -0.58197318, -0.58169253, -0.58286283, -0.58117584]),\n",
       " 'split1_train_score': array([-0.49443859, -0.49445166, -0.49515452, -0.49487961, -0.49622181,\n",
       "        -0.49384687, -0.49404817, -0.49328034, -0.49323988, -0.49574479,\n",
       "        -0.49457373, -0.49358874, -0.4920128 , -0.49364465, -0.49574396,\n",
       "        -0.49150218, -0.49132756, -0.49285446, -0.49276428, -0.49318044,\n",
       "        -0.49019054, -0.49107294, -0.49001865, -0.49091527, -0.49154486]),\n",
       " 'split2_test_score': array([-0.58481887, -0.58283882, -0.58330991, -0.5838276 , -0.58367562,\n",
       "        -0.58366377, -0.58332625, -0.58334936, -0.58244869, -0.58363453,\n",
       "        -0.58247811, -0.58257555, -0.58171915, -0.58275013, -0.5813112 ,\n",
       "        -0.58438416, -0.58361987, -0.58418599, -0.58267814, -0.58341224,\n",
       "        -0.58429513, -0.58359626, -0.58259209, -0.58194975, -0.58310665]),\n",
       " 'split2_train_score': array([-0.49439876, -0.49252511, -0.49462902, -0.4942147 , -0.49441065,\n",
       "        -0.49450535, -0.49462383, -0.49385985, -0.49438198, -0.49641998,\n",
       "        -0.49299656, -0.49296947, -0.49328896, -0.49351588, -0.49384372,\n",
       "        -0.49096184, -0.49167564, -0.49098373, -0.49121469, -0.49284583,\n",
       "        -0.48916333, -0.49084943, -0.49131301, -0.49103788, -0.49291329]),\n",
       " 'split3_test_score': array([-0.58686317, -0.58684093, -0.58715692, -0.58651187, -0.58547457,\n",
       "        -0.5866165 , -0.58639429, -0.58727402, -0.58763903, -0.58732218,\n",
       "        -0.58782496, -0.58757775, -0.58678721, -0.587789  , -0.58694844,\n",
       "        -0.58635032, -0.58682625, -0.5864924 , -0.58753909, -0.58622763,\n",
       "        -0.58750557, -0.58565806, -0.58718754, -0.58460134, -0.58731919]),\n",
       " 'split3_train_score': array([-0.49501742, -0.49391014, -0.49442534, -0.49494789, -0.49477823,\n",
       "        -0.49292647, -0.49306855, -0.49319943, -0.49371283, -0.49568005,\n",
       "        -0.4906176 , -0.49305238, -0.49358058, -0.49301384, -0.49375253,\n",
       "        -0.49182872, -0.49063415, -0.49120733, -0.49211277, -0.49269771,\n",
       "        -0.49045839, -0.49150257, -0.49158368, -0.49287637, -0.49350251]),\n",
       " 'split4_test_score': array([-0.5886339 , -0.58779318, -0.58769077, -0.58750592, -0.58667314,\n",
       "        -0.5872214 , -0.58705152, -0.58770982, -0.58773429, -0.58740899,\n",
       "        -0.58708288, -0.58803827, -0.58613603, -0.58710296, -0.58702575,\n",
       "        -0.58780073, -0.58605699, -0.58683395, -0.58763312, -0.58736423,\n",
       "        -0.58713866, -0.58801276, -0.58666895, -0.58628846, -0.58614936]),\n",
       " 'split4_train_score': array([-0.49354198, -0.49206751, -0.49335724, -0.49535213, -0.49606378,\n",
       "        -0.49146104, -0.49205052, -0.49249395, -0.49390407, -0.49391314,\n",
       "        -0.49110123, -0.49176307, -0.4917677 , -0.49220543, -0.49371297,\n",
       "        -0.49126576, -0.49161439, -0.49072357, -0.49213143, -0.49195823,\n",
       "        -0.49026193, -0.48965479, -0.4902528 , -0.49034316, -0.4919709 ]),\n",
       " 'std_fit_time': array([ 13.11618324,  17.78078029,   9.34579175,  10.26321377,\n",
       "          7.50888533,  10.73974726,   8.58054395,  12.23864141,\n",
       "         12.44665326,  12.42078945,  15.98345837,  15.15312297,\n",
       "         12.85174099,  15.12200957,  15.35305847,  16.3540278 ,\n",
       "         13.31456643,  20.24325832,  17.90815764,  12.88258708,\n",
       "         16.48784453,  17.55005679,  15.5578885 ,  19.18174597,  36.08365504]),\n",
       " 'std_score_time': array([ 0.05301226,  0.37458958,  0.0781976 ,  0.03141137,  0.04857192,\n",
       "         0.02022382,  0.03562795,  0.02475138,  0.02349258,  0.00932576,\n",
       "         0.11680804,  0.02892493,  0.02403971,  0.02158469,  0.02077236,\n",
       "         0.025295  ,  0.03361503,  0.01339619,  0.0347491 ,  0.015384  ,\n",
       "         0.04464959,  0.02486412,  0.04412325,  0.0479736 ,  0.15368302]),\n",
       " 'std_test_score': array([ 0.00362257,  0.00374546,  0.00356575,  0.00360744,  0.00335351,\n",
       "         0.00359996,  0.0030614 ,  0.00361585,  0.00401881,  0.00359581,\n",
       "         0.00388925,  0.00442339,  0.00356246,  0.0042412 ,  0.00387256,\n",
       "         0.00376066,  0.00356701,  0.00288175,  0.0040048 ,  0.00388075,\n",
       "         0.00352911,  0.00368948,  0.00422675,  0.00315611,  0.00360702]),\n",
       " 'std_train_score': array([ 0.00079143,  0.0013494 ,  0.00101306,  0.00051163,  0.00094777,\n",
       "         0.0010384 ,  0.00096651,  0.00090889,  0.0011163 ,  0.00083076,\n",
       "         0.00140863,  0.00062589,  0.00071306,  0.00052745,  0.00078235,\n",
       "         0.00075762,  0.00045915,  0.0007483 ,  0.00082014,  0.00051923,\n",
       "         0.00117432,  0.00073031,  0.00103076,  0.0010984 ,  0.00096632])}"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gsearch3_2.cv_results_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best: -0.582489 using {'colsample_bytree': 0.9, 'subsample': 0.7}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n0h/j/QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x14cdaeb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# summarize results\n",
    "print(\"Best: %f using %s\" % (gsearch3_2.best_score_, gsearch3_2.best_params_))\n",
    "test_means = gsearch3_2.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = gsearch3_2.cv_results_[ 'std_test_score' ]\n",
    "train_means = gsearch3_2.cv_results_[ 'mean_train_score' ]\n",
    "train_stds = gsearch3_2.cv_results_[ 'std_train_score' ]\n",
    "\n",
    "pd.DataFrame(gsearch3_2.cv_results_).to_csv('my_preds_subsampleh_colsample_bytree_1.csv')\n",
    "\n",
    "# plot results\n",
    "test_scores = np.array(test_means).reshape(len(colsample_bytree), len(subsample))\n",
    "train_scores = np.array(train_means).reshape(len(colsample_bytree), len(subsample))\n",
    "\n",
    "for i, value in enumerate(colsample_bytree):\n",
    "    pyplot.plot(subsample, -test_scores[i], label= 'test_colsample_bytree:'   + str(value))\n",
    "#for i, value in enumerate(min_child_weight):\n",
    "#    pyplot.plot(max_depth, train_scores[i], label= 'train_min_child_weight:'   + str(value))\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'subsample' )                                                                                                      \n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'subsample_vs_colsample_bytree2.png' )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 最优参数：'colsample_bytree': 0.9, 'subsample': 0.7， log_loss：0.582489 "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
